package futbol.tacticas.concursantes2007.kapsi;

import futbol.tacticas.concursantes2007.kapsi.*;

import java.awt.Point;
import java.awt.Rectangle;
import java.util.Vector;


import futbol.tacticas.Comando;
import futbol.tacticas.ComandoGolpearBola;
import futbol.tacticas.ComandoIrA;
import futbol.tacticas.ComandoPase;
import futbol.tacticas.ComandoTiroAPuerta;
import futbol.tacticas.SituacionJugadores;

public class Jug {
	private int fuerza;
	private TipoJugador tipo;
	private Area zona;
	private int numero;
	private SituacionJugadores sj;

	public Jug(int  numero, int fuerza, Area zona, TipoJugador tipo){
		this.fuerza = fuerza;
		this.zona = zona;
		this.tipo = tipo;
		this.numero = numero;
	}
	
	public int getXInicial(){
			return (int)this.zona.getCentroX();
	}
	
	public int getYInicial(){
			return (int)this.zona.getCentroY();
	}
	
	public int getX(){
		return sj.getMisJugadores()[numero].x;
	}
	
	public int getY(){
		return sj.getMisJugadores()[numero].y;
	}
	
	public void getComandos(Vector<Comando> com,SituacionJugadores sj){
		this.sj = sj;
		//System.out.println("*********** POSICION PELOTA " + sj.getBola().x);
		if(sj.getBola().x > 0){
			zona.setModificador(new Point(sj.getBola().x,0));
		}else{
			zona.setModificador(new Point(0,0));
		}
		
		
		com.add(new ComandoTiroAPuerta(numero,0));
		if(zona.estaBola()){
			com.add(new ComandoIrA(numero,sj.getBola().getX(),sj.getBola().getY()));
		}else{
			com.add(new ComandoIrA(numero,zona.getCentroModificadoX(),zona.getCentroModificadoY()));
		}
		switch(this.tipo){
			case Portero:
				break;
			case Defensa:
				break;
			case Lateral:
				break;
			case Centro:
				break;
			case MediaPunta:
				break;
			case Delantero:
				if(getX() >= 140 && !zona.estaBola() ){
					com.add( new ComandoIrA(numero,140,getY()));
				}
				break;
		}
		// Defender al primero de la zona
		
		//Pases

		//Ataque

		//Si tiene la pelota
	}
	
	public int getFuerza(){
		return this.fuerza;
	}

	public Area getArea() {
		return zona;
	}
	
}
